package com.cn.api;

import com.cn.dto.ProductDTO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.context.annotation.Primary;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;

@Primary
@FeignClient(value = "product-client",path = "/product")
public interface ProductCoreService {
    //查询所有产品信息
    @GetMapping("/findAll")
    List<ProductDTO> findAll(@RequestBody ProductDTO productDTO);

    //根据id查询单个产品信息
    @GetMapping("/findById")
    ProductDTO findById(@RequestParam("productId") Integer productId);

    //添加单个产品信息
    @PostMapping("/add")
    int add(@RequestBody ProductDTO productDTO);

    //删除产品（逻辑删除）
    @PostMapping("/delete")
    int delete(Integer productId);

    //修改产品信息
    @PostMapping("/update")
    int update(ProductDTO productDTO);

    //根据某条件查询产品
    @GetMapping("/findCondition")
    List<ProductDTO> findCondition(ProductDTO product);
}
